Molecular design apparatus and method

ABSTRACT

A molecular design apparatus is disclosed. Expansion coefficients applied to basis functions are calculated by expanding molecular orbital functions used to draw molecular orbitals based on the molecular structure design data. First molecular orbital data in which the expansion coefficients are corresponded to the basis functions is stored to the storage part. A coefficient threshold is determined for the expansion coefficients of the basis functions by using a drawing threshold which indicates a constant function value, to draw the molecular orbital functions as an isosurface of the constant function value on a screen of a display device. Second molecular orbital data pertinent to the expansion coefficients is stored based on the coefficient threshold to the storage part.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is based upon and claims the benefit of priorityof the prior Japanese Patent Application No. 2012-020255 filed on Feb.1, 2012, the entire contents of which are incorporated herein byreference.

FIELD

The embodiment discussed herein is related to a molecular designapparatus and method for drawing molecular orbitals on a screen of adisplay device based on molecular structure design data.

BACKGROUND

In research and development of a high technology related to drug designor the like, needs of a molecular orbital calculation using a computerhave been increased. The molecular orbital function is useful forresearch of photoresponsiveness and reactivity of a molecule to be adevelopment target. Especially, molecular orbitals such as a HOMO(Highest Occupied Molecular Orbital) and a LUMO (Lowest UnoccupiedMolecular Orbital) are frequently drawn by a three-dimensional drawingusing the computer. In order to draw the molecular orbitals, a molecularorbital drawing program and a molecular orbital drawing apparatus areused. A GUI (Graphical User Interface) for an easy user operation isrealized.

However, in the above-described drawing of the molecular orbitals,especially in a case of handling a large scale molecule, a calculationusing a large amount of data is performed. In many molecular orbitalcalculation programs, expansion coefficients of the molecular orbitalsacquired from a molecular orbital calculation result are output to afile. By a molecular orbital drawing program, a drawing process isexecuted. In the drawing process, expansion coefficient data and basisfunction data are read out from the file and values of molecular orbitalfunctions are calculated. Alternatively, in addition to the file towhich the expansion coefficients are output, a result file may be outputas a result from actually calculating function values ofthree-dimensional lattice points. The molecular orbital drawing programmay read the result file, and then, the drawing process may beperformed.

In a case in which a data amount related to the drawing process isincreased, a drawing time may be delayed. In order to improve drawingspeed, values of basis functions of the three-dimensional lattice pointsmay be calculated beforehand. Moreover, lattice points themselves may bereduced.

Patent Documents

-   Japanese Laid-open Patent Publication No. H06-168304-   Japanese Laid-open Patent Publication No. H08-16546

SUMMARY

According to one aspect of the embodiment, there is provided a moleculardesign apparatus, including a storage part configured to store molecularstructure design data; a molecular orbital function expansion partconfigured to calculate expansion coefficients applied to basisfunctions by expanding a molecular orbital function used to drawmolecular orbitals based on the molecular structure design data, andstores first molecular orbital data in which the expansion coefficientsare corresponded to the basis functions to the storage part; and amolecular orbital data reduction part configured to determine acoefficient threshold for the expansion coefficients of the basisfunctions acquired by the molecular orbital function expansion part byusing a drawing threshold which indicates a constant function value, todraw the molecular orbital functions as an isosurface of the constantfunction value on a screen of a display device, and to store secondmolecular orbital data pertinent to the expansion coefficients based onthe coefficient threshold to the storage part.

According to other aspects of the embodiment, there may be provided amolecular design method conducted by a computer, and a non-transitorycomputer-readable recording medium storing a program for causing thecomputer to operate as the above-described molecular design apparatus.

The object and advantages of the invention will be realized and attainedby means of the elements and combinations particularly pointed out inthe appended claims. It is to be understood that both the foregoinggeneral description and the following detailed description are exemplaryand explanatory and are not restrictive of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating a hardware configuration of a moleculardesign apparatus;

FIG. 2 is a diagram illustrating a functional configuration example ofthe molecular design apparatus;

FIG. 3 is a diagram for explaining a drawing threshold φ_(cutoff) formolecular orbital functions;

FIG. 4 is a diagram for explaining a basis threshold χ_(cutoff);

FIG. 5 is a diagram for explaining a maximum number N^(Atom) _(max);

FIG. 6 is a flowchart for explaining a threshold determination process;

FIG. 7 is a diagram for explaining a data reduction process concerningan i^(th) molecular orbital function φ;

FIG. 8A and FIG. 8B are flowcharts for explaining a data deletionstoring process performed by a data deletion storage part;

FIG. 9 is a diagram illustrating an example of second MO data;

FIG. 10 is a flowchart for explaining a molecular orbital functiondetermination process;

FIG. 11 is a diagram for explaining a comparison of data amounts in afirst drawing example;

FIG. 12 is a diagram for explaining the comparison of data amounts inthe first drawing example;

FIG. 13 is a diagram for explaining a comparison of the data amounts ina second drawing example; and

FIG. 14 is a diagram for explaining the comparison of the data amount inthe second drawing example.

DESCRIPTION OF EMBODIMENTS

In the following, an embodiment of the present invention will bedescribed with reference to the accompanying drawings. A moleculardesign apparatus 100 according to the embodiment includes a hardwareconfiguration as illustrated in FIG. 1. FIG. 1 is a diagram illustratingthe hardware configuration of the molecular design apparatus 100. InFIG. 1, the molecular design apparatus 100 may be a terminal controlledby a computer, and may include a CPU (Central Processing Unit) 11, amain memory 12, an auxiliary storage device 13, an input device 14, adisplay device 15, an output device 16, a communication interface (I/F)17, and a drive device 18, which are mutually connected via a bus B.

The CPU 11 controls the molecular design apparatus 100 in accordancewith programs stored in the main memory 12. The main memory 12 mayinclude a Random Access Memory (RAM), a ROM (Read-Only Memory), or thelike. The main memory 12 stores programs executed by the CPU 11, dataused in processes conducted by the CPU 11, data acquired in theprocesses conducted by the CPU 11, and the like. Also, a part of an areaof the main memory 12 may be used as a working area for the processesconducted by the CPU 11.

The auxiliary storage device 13 may include a hard disk drive, and maystore data such as the programs to perform various processes. A part ofa program stored in the auxiliary storage device 13 is loaded to themain memory 12, and is executed by the CPU 11. Accordingly, variousprocesses are realized. A storage part 130 may include the main memory12 and/or the auxiliary storage device 13.

The input device 14 may include one or more operation parts such as apointing device such as a mouse, a keyboard or the like. The inputdevice 14 may be used for a user to input various information items forthe processes in the molecular design apparatus 100. The display device15 is used to display various information items under a control of theCPU 11. The output device 16 may include a printer or the like. Theoutput device 16 is used for the user to output various informationitems in response to an instruction of the user. The communication I/F17 is used to connect to the Internet, a Local Area Network (LAN), orthe like. The communication I/F 17 corresponds to a device forcontrolling a communication with an external device.

The program, which may realize the process performed by the moleculardesign apparatus 100, may be provided by a recording medium 19 such as aCD-ROM (Compact Disc Read-Only Memory) or the like. That is, when therecording medium 19 storing the program is set to the drive device 18,the program is read out by the drive device 18 from the recording medium19, and is installed to the auxiliary storage device 13 through the busB. Accordingly, when the CPU 11 is instructed to execute the program,the CPU 11 starts the process in accordance with the program installedin the auxiliary storage device 13. The recording medium 19 for storingthe program is not limited to the CD-ROM. Any computer-readablerecording medium may be used as the recording medium 19. In addition tothe CD-ROM, a portable recording medium such as a Digital Versatile Disk(DVD), a Universal Serial Bus (USB) memory, a semiconductor memory suchas a flash memory, or the like may be used as the computer-readablerecording medium 19.

Also, the program for realizing the process performed by the moleculardesign apparatus 100 may be provided from the external device throughthe communication I/F 17. Alternatively, the program may be provided tothe external device. Each of processes, which will be described later,may be realized at the external device. The communication through thecommunication I/F 17 is not limited to a wireless or wiredcommunication.

FIG. 2 is a diagram illustrating a functional configuration example ofthe molecular design apparatus 100. In FIG. 2, portions according to theembodiment will be illustrated, and other portions are omitted. In FIG.2, the molecular design apparatus 100 includes a molecular structuredesign part 41, a molecular orbital calculation part 43, and a molecularorbital (MO) function expansion part 44, and an MO drawing part 48. Themolecular structure design part 41, the MO function expansion part 44,and the MO drawing part 48 may be realized by processes which areperformed by the CPU 11 executing respective programs.

The molecular structure design part 41 conducts the molecular structuredesign based on data pertaining to the molecular structure. The data areinput from the input device 14 by the user. A main window for the userto work is displayed by the molecular structure design part 41 on ascreen of the display device 15. The user operates an atom item, a bondaxis item, and the like to be displayed in the main window, by using thepointing device, the keyboard, or the like, so as to build athree-dimensional structure of a molecule in the main window. Molecularstructure design data 132, which is created by operations of the user,are stored in the storage part 130.

The molecular orbital calculation part 43 calculates a molecular orbitalbased on the molecular structure design data 132. In the embodiment, themolecular orbital calculation part 43 reduces as much as possible a dataamount of a calculation result of the molecular orbital without losingdrawing data of the molecular orbital.

The molecular orbital calculation part 43 calculates the molecularorbital based on the molecular structure design data 132 by a molecularorbital function represented by a linear combination of multiple basisfunctions which are prepared beforehand. The molecular orbitalcalculation part 43 further includes the MO function expansion part 44,a threshold determination part 45, and a data deletion storage part 46.The threshold determination part 45 and the data deletion storage part46 correspond to a MO data reduction part 47 for reducing the dataamount of the calculation result of the molecular orbital.

The MO function expansion part 44 calculates coefficients (hereinafter,called “expansion coefficients”) concerning the multiple basis functionsto expand the molecular orbital function into the multiple basisfunctions. In the embodiment, the molecular orbital calculation isperformed to acquire the expansion coefficients respective to themultiple molecular orbital functions. In the following, the “molecularorbital” and the “molecular orbital function” are synonymous in amolecular orbital calculation process. The molecular orbital functionrepresents a state of an electron in a molecule. An orbital functionvalue in coordinates is raised to the power of two. In detail, by usingan expression (1), the expansion coefficients of the molecular orbitalfunction are calculated.

$\begin{matrix}{{\varphi_{i}(r)} = {\sum\limits_{p = 1}^{N}{C_{pi}{\chi_{p}(r)}}}} & (1)\end{matrix}$

In the above expression (1), φ_(i) indicates an i^(th) molecular orbitalfunction, r indicates coordinates used to acquire a function value, andχ_(p) indicates a p^(th) basis function. N indicates a total number ofthe basis functions, and C_(pi) indicates an expansion coefficientapplied to the p^(th) basis function in a case in which an i^(th)molecular orbital function is expanded into the multiple basisfunctions. First MO data 134 are stored in the storage part 130. In thefirst MO data 134, the expansion coefficients C_(pi) correspond to thep^(th) basis function for each i^(th) molecular orbital function.

The threshold determination part 45 determines thresholds of theabove-described coefficients used to create second MO data 136 fordrawing the molecular orbital. By using the second MO data 136, it ispossible for the MO drawing part 48 to draw the molecular orbital athigh speed. A coefficient threshold C_(cutoff) is determined by anexpression (3) acquired from an expression (2) based on the expression(1).

$\begin{matrix}{\varphi_{cutoff} = {\left( {\alpha \times N_{{ma}\; x}^{Atom}} \right) \times C_{cutoff} \times \chi_{cutoff}}} & (2) \\{C_{cutoff} = \frac{\varphi_{cutoff}}{\alpha \; N_{{ma}\; x}^{Atom}\chi_{cutoff}}} & (3)\end{matrix}$

In the above expressions (2) and (3), in a case in which the molecularorbital is drawn, φ_(cutoff) represents a threshold (corresponding to adrawing threshold) of the molecular orbital to set to an isosurface.Also, α represents a value acquired by multiplying the number of thebasis functions belonging to each of atoms with a ratio of the number ofelectrons with respect to a total number of basis, a basis ratiorespective to the value, or the like. N^(Atom) _(max) represents amaximum value of atoms in a range where the basis functions areoverlapped. The coefficient threshold C_(cutoff) represents a thresholdof the expansion coefficient of the molecular orbital function.χ_(cutoff) represents a threshold of the basis function to ignorerelationships with other basis functions, regarding a radialdistribution function of the basis function.

The data deletion storage part 46 reduces the data amount of the firstMO data 134, and also stores the second MO data 136 for the MO drawingpart 48 to acquire an approximate molecular orbital function.

The data deletion storage part 46 specifies, by referring to the firstMO data 134, the expansion coefficients C_(pi) being greater than orequal to coefficient threshold C_(cutoff) calculated by a thresholddetermination part 45, the basis function χ_(p) corresponding to theexpansion coefficients C_(pi), and the number of elements to acquire theapproximate molecular orbital function for the i^(th) molecular orbitalfunction acquired by the MO function expansion part 44. The datadeletion storage part 46 stores the expansion coefficients C_(pi), thebasis function χ_(p), and the number of elements to the second MO data136 in the storage part 130, and sets “True” to a reduction flag 6 a ofthe second MO data 136 to validate the second MO data 136. Initially,“False” is set to the reduction flag 6 a to invalidate the second MOdata 136.

The expansion coefficients C_(pi) being greater than or equal to thecoefficient threshold C_(cutoff) is stored in expansion coefficient data6 b. Preferably, the expansion coefficients C_(pi) may be stored in onedimensional array V. Basis function indication data 6 c stores an entityof the basis function χ_(p) corresponding to the expansion coefficientsC_(pi) stored in the expansion coefficient data 6 b, or a pointer to thebasis function χ_(p) existing in the first MO data 134. In this case,one dimensional array V_(Basis) may be used for the basis functionχ_(p). Also, the number of the basis functions χ_(p), which is appliedafter the reduction of the data amount, corresponds to an element numberof the array V_(Basis). One dimensional array V_(Orbital) representselements of the array V for the expansion coefficients C_(pi) for eachof the molecular orbital functions, and is stored in MO indication data6 d.

The MO drawing part 48 draws the molecular orbital on the molecularstructure in the window of the display device 15 by using the molecularorbital function calculated by the molecular orbital calculation part43. If the reduction flag 6 a of the second MO data 136 indicates “True”(the second MO data 136 is validated), the molecular orbital drawingpart 48 draws the molecular orbital on the molecular structure by usingthe approximate molecular orbital function by referring to the second MOdata 136. On the other hand, if the reduction flag 6 a indicates “False”(the second MO data 136 is invalidated), the molecular orbital drawingpart 48 draws the molecular orbital on the molecular structure by usingthe first MO data 134.

The molecular orbital drawing part 48 includes a MO functiondetermination part 49. If the reduction flag 6 a indicates “True”, theMO function determination part 49 calculates approximate molecularorbital function by referring to the second MO data 136. The molecularorbital drawing part 48 acquires a molecular orbital function value byusing the approximate molecular orbital function calculated by the MOfunction determination part 49, and draws the molecular orbital on themolecular structure based on the molecular structure design data 132.Drawing data 138 for drawing the molecular orbital on the molecularstructure are stored in the storage part 130.

Next, a threshold determination process will be described. The thresholddetermination process is performed by the threshold determination part45 to reduce the data amount of the expansion coefficients of themolecular orbitals.

The threshold determination part 45 acquires each of the followingvalues to calculate the coefficient threshold C_(cutoff) indicating athreshold value of the expansion coefficients of the molecular orbitalfunctions, in which the coefficient threshold C_(cutoff) is expressed bythe above expression (3).

(A1) a drawing threshold φ_(cutoff) for the molecular orbital functionsto draw the molecular orbitals,(A2) a base threshold χ_(cutoff) in which influence to other basisfunctions becomes sufficiently small in a space distribution of thebasis function,(A3) a threshold r^(χ) _(max) of a distance where the basis function andother basis functions are sufficiently overlapped,(A4) a maximum value N^(Atom) _(max) of the number of atoms included ina sphere having a radius 2r^(χ) _(max) from a center of each of theatoms,(A5) a value α acquired by multiplying the number of bases for each ofthe atoms with a ratio of the number of electrons with respect to atotal number of bases, and the like.

The above item (A1) will be described with reference to FIG. 3. FIG. 3is a diagram for explaining the drawing threshold φ_(cutoff) for themolecular orbital functions. In a graph illustrated in FIG. 3, avertical axis indicates a function value, and a horizontal axisindicates coordinates. Drawing using the molecular orbital functions maybe performed as drawing isosurface determined by an absolute value of acertain function value. By setting the drawing threshold φ_(cutoff) of afunction 3 f, function values between +φ_(cutoff) and −φ_(cutoff) arenot used. The MO drawing part 48 displays a molecular structure 3 a atthe display device 15. In the molecular structure 3 a, the molecularorbitals are drawn by using the function values which are greater thanor equal to +φ_(cutoff) or less than or equal to −φ_(cutoff). Thedrawing threshold φ_(cutoff) may be a value set by a user.

The above items (A2) and (A3) will be described with reference to FIG.4. FIG. 4 is a diagram for explaining the basis threshold χ_(cutoff). InFIG. 4, the basis threshold χ_(cutoff) indicates a threshold in whichinfluence from the basis functions to other basis functions becomessufficiently smaller. The basis functions are used to expand to themolecular orbital functions. Basis function values being less than orequal to the basis threshold χ_(cutoff) are deleted.

In a case of considering the influence to the other basis functions, adistribution function D (an expression (6)) may be used. Thedistribution function D may be regarded as a distribution function of aradial function R (an expression (5)) forming a basis function χ (anexpression (4)).

$\begin{matrix}{\chi_{nlm}^{STO} = {{R_{n}^{STO}(r)}{Y_{Im}\left( {\theta,\phi} \right)}}} & (4) \\{{R_{n}^{STO}(r)} = {\frac{\left( {2\varsigma} \right)^{3/2}}{\sqrt{\Gamma \left( {{2n} + 1} \right)}}\left( {2\varsigma \; r} \right)^{n - 1}{\exp \left( {{- \varsigma}\; r} \right)}}} & (5) \\{{D_{n,\varsigma}^{STO}(r)} = {4{\pi \left\lbrack {R_{n}^{STO}(r)} \right\rbrack}^{2}}} & (6)\end{matrix}$

In the expressions (4) to (6), χ^(STO) _(nlm) indicates a basis functionusing a Slater Type Orbital (STO), n indicates a principal quantumnumber, l indicates an azimuthal quantum number, and m indicates amagnetic quantum number. R^(STO) _(n)(r) indicates the radial functionof the Slater Type Orbital in radial coordinates r, and n indicates theprincipal quantum number. Y_(lm)(θ,φ) indicates spherical harmonics ofthe Slater Type Orbital in angular coordinates θ and φ, l indicates theazimuthal quantum number, and m indicates a magnetic quantum number.

ζ indicates an orbital exponent (a coefficient of an exponent of theradial function). D^(STO) _(n,ζ) indicates a radial distributionfunction of the Slater Type Orbital, and n indicates the principalquantum number. Also, r^(χ) _(max) indicates the radial coordinatesdetermined by the threshold of the basis function.

The above item (A4) will be described with reference to FIG. 5. FIG. 5is a diagram for explaining the maximum number N^(Atom) _(max). Themaximum number N^(Atom) _(max) indicates a maximum value of the totalnumber of the atoms in a case of considering the influence of the basisfunction belonging to an atom to other basis functions belonging toother atoms for each atom. Coordinates are set as r^(χ) _(max) when thecoordinates indicate a function value of the distribution function Dcorresponding to the basis threshold (FIG. 4). In this case, if centersof other atoms are included in a sphere of a radius 2r^(χ) _(max) fromeach of the atoms, it is considered that the basis functions mayinfluence each other (FIG. 5).

In FIG. 5, N^(Atom) _(max) indicates the maximum value of the number ofthe atoms included in the sphere of the radius 2r^(χ) _(max) from thecenter of each of the atoms.

The above item (A5) will be described. α indicates a value which resultsfrom multiplying the number of the basis functions belonging to each ofthe atoms with a ratio of an electron number with respect to the totalnumber of the basis functions, or an other value respective to thecalculated value. When α is calculated, a HOMO (Highest OccupiedMolecular Orbital) in a region which tends to give an electron or a LUMO(Lowest Unoccupied Molecular Orbital) in a region which tends to receivethe electron may be considered. αN^(Atom) _(max) is regarded as thenumber of the basis functions which are actually overlapped with respectto the total number N of the basis functions in the expression (1) forcalculating the molecular orbital functions. Accordingly, it is possibleto determine the drawing threshold φ_(cutoff) based on a relationalexpression (the above expression (2)), and to determine a pertinentcoefficient threshold C_(cutoff) by the above expression (3).

FIG. 6 is a flowchart for explaining a threshold determination process.In FIG. 6, the threshold determination part 45 sets the drawingthreshold φ_(cutoff) of the molecular orbital functions (step S61).Also, the threshold determination part 45 calculates and sets the basisthreshold χ_(cutoff) in which the influence to other basis functionsbecomes sufficiently small in the space distribution of the basisfunction (step S62).

The threshold determination part 45 acquires the threshold r^(χ) _(max)of the distance where the basis function and other basis functions aresignificantly overlapped based on a distribution function D and thebasis threshold χ_(cutoff) of the basis function χ (step S63). Thethreshold determination part 45 acquires a maximum value of the numberof atoms in the sphere of the radius 2r^(χ) _(max) from each of theatoms, and sets the maximum number N^(Atom) _(max) (step S64). Moreover,the threshold determination part 45 acquires α based on the number ofthe basis functions and the HOMO (step S65). Instead of the HOMO, αrelated to the LUMO may be acquired. The user may indicate the HOMO orLUMO beforehand.

Next, the threshold determination part 45 obtain the coefficientthreshold C_(cutoff) based on the drawing threshold φ_(cutoff), thebasis threshold χ_(cutoff) and the maximum value N^(Atom) _(max), and α(step S66).

Based on the coefficient threshold C_(cutoff) determined in a processconducted by the threshold determination part 45, the data deletionstorage part 46 creates and stores contents of the second MO data 136 inthe storage part 130.

A data reduction process will be described with reference to FIG. 7. Forthe i^(th) molecular orbital function φ_(i) the data reduction processis performed by the data deletion storage part 46. FIG. 7 is a diagramfor explaining the data reduction process concerning the i^(th)molecular orbital function φ_(i). In FIG. 7, the i^(th) molecularorbital function φ_(i) will be described by using φ_(i) data 134-2pertinent to the i^(th) molecular orbital function φ_(i) in the first MOdata 134 stored in the storage part 130.

In the φ_(i) data 134-2, the expansion coefficients C_(pi) pertinent tothe basis functions χ_(p) (p=1, 2, . . . , N) corresponding to the basisfunctions χ₁ through χ_(N), respectively.

The data deletion storage part 46 stores the expansion coefficientsC_(pi) being greater than or equal to the coefficient thresholdC_(cutoff) in one dimensional array V. In an order of p from 1 to N, theexpansion coefficients C_(pi) being greater than or equal to thecoefficient threshold C_(cutoff) are stored in elements from j_(i)^(start) to j_(i) ^(End) of the array V. The j_(i) ^(Start) indicates afirst expansion coefficient C_(pi) after the data reduction processrelated to the i^(th) molecular orbital φ_(i) (may be called “molecularorbital function φ_(i)”). The j_(i) ^(End) indicates a last expansioncoefficient C_(pi) after the data reduction process related to thei^(th) molecular orbital φ_(i).

Also, when storing the expansion coefficients C_(pi) (greater than orequal to the coefficient threshold C_(cutoff)) after the data reduction,the data deletion storage part 46 stores pointers to the basis functionsχ_(p) corresponding to the expansion coefficient C_(pi) being greaterthan or equal to the coefficient threshold C_(cutoff), to elements fromj_(i) ^(start) to j^(End) of the array V_(Basis).

Furthermore, the data deletion storage part 46 manages elements fromj_(i) ^(start) to j^(End) by using one dimensional array V_(Orbital). Bysetting j_(i) ^(Start) to an i^(th) element (V_(Orbital)[i]) of thearray V_(Orbital) the element number is acquired by deductingV_(Orbital)[i] from V_(Orbital)[i+1].

As described above, φ_(i)′ data 136-2 pertinent to the i^(th) molecularorbital φ_(i) are created. In the φ_(i)′ data 136-2, data from the arrayV[j_(i) ^(Start)] to the array V[j_(i) ^(End)] correspond to a part ofthe expansion coefficient data 6 b in the second MO data 136 in FIG. 2.Data from the array V_(Basis)[j_(i) ^(Start)] to the arrayV_(Basis)[j_(i) ^(End)] correspond to a part of the basis functionindication data 6 c. The array V_(orbital)[i] corresponds to a part ofthe MO indication data 6 d.

In order to approximate the above expression (1), the expression (1) maybe replaced by using an array based on the following relationalexpression (A).

C _(pi) =>V[i],

χ_(p)=>χ_(VBasis) [l],

N=>j _(i) ^(End) −j _(i) ^(Start)+1=V _(Orbital) [i+1]−V _(Orbital)[i]  <Relational Expression A>

The expansion coefficient C_(pi) is represented by V[1], and χ_(p) isrepresented by χ_(VBasis[1]). Also, the total number N of the basisfunctions is represented by the number (j_(i) ^(End)−j_(i)^(Start)+1=V_(Orbital)[i+1]−V_(Orbital)[i]) of the basis functions to beapplied.

As described above, by approximating the above expression (1), theexpression (1) may be represented by an approximated molecular functionssuch as the following expression (7).

$\begin{matrix}{{\varphi_{i} \cong \varphi_{i}^{\prime}} = {\sum\limits_{i = {V_{Orbital}{\lbrack i\rbrack}}}^{{V_{Orbital}{\lbrack{i + 1}\rbrack}} - 1}{{V\lbrack l\rbrack}\chi_{V_{Basis}{\lbrack i\rbrack}}}}} & (7)\end{matrix}$

Also, in a case of a related art in which the embodiment is not applied,the number of the basis functions χ_(p) pertaining to the i^(th)molecular orbital φ_(i) becomes the total number N of the basisfunctions χ_(p). On the other hand, in a case of applying theembodiment, the number of the basis functions χ_(p) pertaining to thei^(th) molecular orbital φ_(i) becomes the element number acquired by acalculation (V_(Orbital)[i+1]−V_(Orbital)[i]). Accordingly, a ratio of acalculation amount of the MO drawing part 48 in the embodiment withrespect to that of the related art is indicated by the followingexpression (8).

$\begin{matrix}\frac{{V_{Orbital}\left\lbrack {i + 1} \right\rbrack} - {V_{Orbital}\lbrack i\rbrack}}{N} & (8)\end{matrix}$

The smaller the ratio acquired by the above expression (8) is, at thehigher speed the drawing process is performed by the MO drawing part 48.

A data deletion storing process will be described with reference to FIG.8A and FIG. 8B. The data deletion storing process is performed by thedata deletion storage part 46 for all molecular orbital functions φ_(i).FIG. 8A and FIG. 8B are flowcharts for explaining a data deletionstoring process performed by the data deletion storage part 46. In FIG.8A, the data deletion storage part 46 sets 1 to a variable i (step S81).The data deletion storage part 46 acquires expansion coefficient data 4i of the i^(th) molecular orbital φ_(i) from the first MO data 134stored in the storage part 130 (step S82).

The data deletion storage part 46 stores the expansion coefficientsC_(pi) being greater than or equal to coefficient threshold C_(cutoff)calculated by a threshold determination part 45 to the elements fromj_(i) ^(Start) to j_(i) ^(End) of the array V in the expansioncoefficient data 6 b. Also, the data deletion storage part 46 storesdata indicating the basis functions χ_(i) to the elements from j_(i)^(Start) to j_(i) ^(End) of the array V_(Basis) in the basis functionindication data 6 c (step S83).

Next, in FIG. 8B, the data deletion storage part 46 stores j_(i)^(Start) to the array V_(Orbital)[i] related to the number of theexpansion coefficients C_(pi) being greater than or equal to coefficientthreshold C_(cutoff) in the MO indication data 6 d (step S84).

After that, the data deletion storage part 46 increments the variable iby 1 (step S85), and determines whether the variable i reaches the totalnumber N of the molecular orbital functions φ, that is, whether thevariable i is equal to the total number N (step S86). If the variable iis not equal to the total number N, the data deletion storage part 46goes back to the step S82, and repeats the above described processes. Onthe other hand, if the variable i is equal to the total number N ofmolecular orbital functions φ, the data deletion storage part 46 storesa value where 1 is added to j_(i) ^(End), in the array V_(Orbital)[i+1](step S87). Then, the data deletion storing process is terminated.

The second MO data 136 will be described with reference to FIG. 9. Thesecond MO data 136 are created by the MO data reduction part 47including the threshold determination part 45 and the data deletionstorage part 46. FIG. 9 is a diagram illustrating an example of thesecond MO data 136. FIG. 9 illustrates a case in which the second MOdata 136 are created by the MO data reduction part 47 by deleting datafrom the first MO data 134 created by the MO function expansion part 44.

The first MO data 134 is created by the MO function expansion part 44.In the first MO data 134, the expansion coefficients C are stored bycorresponding to the basis functions χ, respectively, for each of themolecular orbitals φ based on the molecular structure design data 132.

For each of an atom 1, an atom 2, . . . , an atom N_(A) included in themolecular structure, one or more basis functions χ are preparedbeforehand. N_(A) indicates the number of the atoms in a molecule. Thetotal number (that is, the total number of the molecular orbitals φ) ofthe basis functions χ pertinent to the atom 1 through the atom N_(A) isindicated by N. The basis functions χ are independent functions. Thetotal number of the expansion coefficients C is represented by N to thepower of 2 (N²). The expansion coefficient data 6 b include N squaredvalues of the expansion coefficients C.

The basis functions χ for depicting orbitals of the atom 1 arerepresented with suffixes p₁ ^(Start) through p₁ ^(End), respectively.The basis functions χ for depicting orbitals of the atom 2 arerepresented with suffixes p₂ ^(Start) through p₂ ^(End), respectively.The basis functions χ for depicting orbitals of the atom N_(A) arerepresented with suffixes p_(NA) ^(Start) through p_(NA) ^(End),respectively. The p₁ ^(Start) indicates a 1^(st) basis function χ, andp_(NA) ^(End) indicates a N^(th) basis function χ.

Each of the molecular orbitals φ is specified by the suffix i (i=1, . .. , N), and the expansion coefficient data 4 i indicates data of themolecule orbitals φi in the expansion coefficient data 40. The expansioncoefficient data 6 b may be represented by a two dimensional array ofN×N. For each of the expansion coefficients C, a first suffix indicatesone of the basis functions χ, and a second suffix indicates one of themolecular orbitals φ. For the 1^(st) suffix, p_(i) ^(Start) is a numberto indicate a first function in the basis functions related to thei^(th) atom, and p_(i) ^(End) is a number to indicate a last function inthe basis functions related to the i^(th) atom.

The first MO data 134 may include basis function data 9 a representingeach of the basis functions χ. Alternatively, the basis function data 9a may be separately stored in another data file, table, or the like.

In the second MO data 136 created by the MO data reduction part 47 basedon the first MO data 134, the expansion coefficients C from themolecular orbital φ₁ to the molecular orbital φ_(N) are stored to thearray V in the expansion coefficient data 6 b.

For the first molecular orbital φ₁, the expansion coefficients C, whichare greater than or equal to coefficient threshold C_(cutoff), arestored to the elements from the 1^(st) to J₁ ^(End) in the array V. Afirst expression coefficient C is represented with a suffix m₁ ^(Start)and a last expression coefficient C is represented with a suffix m₁^(End). For the last molecular orbital φ_(N), the expansion coefficientsC, which are greater than or equal to coefficient threshold C_(cutoff),are stored to the elements from the J_(N) ^(Start) to m in the array V.The first expansion coefficient C is represented with a suffix m_(N)^(Start), and the last expansion coefficient C is represented with asuffix m_(N) ^(End).

In the basis function indication data 6 c, the basis functions χ, whichare used to depict the molecular orbitals φ₁ through φ_(N), are storedin the array V_(Basis) according to an array order of the expansioncoefficients C stored in the expansion coefficient 6 b.

For the first molecular orbital φ₁, the basis function χ, where thefirst expansion coefficient C with the suffix m₁ ^(Start) of the array Vis used, is stored to the first element of the array V_(Basis). Also,the basis function χ, where the last expansion coefficient C with thesuffix m₁ ^(End) of the array V is used, is stored to the J₁ ^(End)element of the array V_(Basis). Other molecular orbitals φ_(i) will beexplained in the same manner.

In the MO indication data 6 d, the number identifying the element wherethe first expansion coefficient C is indicated by the array V_(Orbital)for each of the molecular orbitals φ₁ to φ_(N). A first element numberj_(i) ^(Start) of the i^(th) molecular orbital φ in the array V isstored in V_(orbital)[i]. A value resulted from adding 1 to the number mof the expansion coefficients C after the data are reduced is stored toa last element V_(Orbital)[N+1] of the array V_(Orbital). In theembodiment, when the MO data reduction part 47 is applied so that thesecond MO data 136 is valid, the number m may be also the number of thebasis functions χ which are deleted. Accordingly, in a molecular orbitaldrawing process conducted by the MO drawing part 48, it is possible toreduce the drawing process by the number m of the basis functions χwhich are deleted.

In order to acquire molecular orbital function values of a drawingtarget from the expansion coefficient data 6 b of the molecularorbitals, it is determined whether data for the drawing process arestored in a regular data format (corresponding to the first MO data 134including the entire data) in which the embodiment is applied or in areduced data format (corresponding to the second MO data 136) in whichthe embodiment is applied and the data amount is reduced. The reductionflag 6 a may be used

If it is determined, by checking whether the reduction flag 6 aindicates “True” or “False”, that the data in the regular data formatare to be used for the drawing process, the molecular orbit functionvalues are calculated by the expression (1) using the first MO data 134in the regular data format, and the drawing process is performed.

If it is determined that the second MO data 136 in the reduced dataformat are to be used for the drawing process, since the regular dataformat of the first MO data 134 and the reduced data format of thesecond MO data 136 are corresponded to as illustrated in FIG. 7, valuesof approximate molecular orbital functions φ_(i)′ are calculated by theabove expression (7) based on the above described <Relational ExpressionA>. The molecular orbitals are drawn by using the values. In this case,compared with the regular data format, a drawing calculation amount isreduced at the ratio expressed by the expression (8).

Next, a molecular orbital function determination process will bedescribed with reference to FIG. 10. The molecular orbital functiondetermination process is performed by the MO function determination part49 of the MO drawing part 48 using the second MO data 136 to determinethe molecular orbital functions. FIG. 10 is a flowchart for explainingthe molecular orbital function determination process. In FIG. 10, stepsS103 through S111 correspond to the molecular orbital functiondetermination process P10 conducted by the MO function determinationpart 49.

The MO drawing part 48 acquires a value of the reduction flag 6 a fromthe second MO data 136 stored in the storage part 130 (step S101).

The MO drawing part 48 determines whether the reduction flag 6 aindicates “True”, that is, whether the second MO data 136 is valid (stepS102). When the reduction flag 6 a indicates “False”, that is, thesecond MO data 136 is invalid, the MO drawing part 48 performs a regulardrawing process by the expression (1) using the first MO data 134 (stepS102-2), and terminates the molecular orbital function determinationprocess when the regular drawing process ends.

On the other hand, when the reduction flag 6 a indicates “True”, thatis, the second MO data 136 is valid, the MO drawing part 48 instructsthe MO function determination part 49 to perform the molecular orbitalfunction determination process.

The MO function determination part 49 reads out the expansioncoefficient data 6 b, the basis function indication data 6 c, and the MOindication data 6 d from the second MO data 136, and acquires the arrayV, the array V_(Basis), and the array V_(Orbital) (step S103).

The MO function determination part 49 sets 1 to a number variable ispecifying the i^(th) molecular orbital function φ (step S104), and setsV_(orbital)[i] to an element number variable j (step S105). The elementnumber variable j specifies the both element numbers in the array V forstoring the expansion coefficients C and the array V_(Basis) of thebasis function χ, which are applied for the molecular orbital functionφ_(i). In a process in the step S105, the first element number of themolecular orbital function φ_(i) is set to the element number variablej.

The MO function determination part 49 sets an expression for multiplyingthe expansion coefficient C with the basis function χ respective to thefirst element number, to the element i of an array φ representing themolecular orbital function φ_(i) (φ[i]) (step S106).

φ[i]=V[j]*χ[V _(Basis) [j]]  (9)

The MO function determination part 49 increments the element numbervariable j (step S107), and additionally sets an expression formultiplying the expansion coefficient C and the basis function χrespective to the element number variable j, to the element I (φ[i])(step S108).

φ[i]=φ[i]+V[j]*χ[V _(Basis) [j]]  (10)

Accordingly, the MO function determination part 49 determines whetherthe element number variable j is equal to the last element number in themolecular orbital function φ_(i) (step S109). The MO functiondetermination part 49 acquires the array V_(Orbital)[i+1], and deducts 1from the array V_(Orbital)[i+1]. Thus, the element number indicating thelast element is acquired. The MO function determination part 49 maydetermine whether the element number variable j reaches a value resultedfrom deducting 1 from the array V_(Orbital)[i+1]. When the elementnumber variable j has not reached the last element number in themolecular orbital function φ_(i), that is, when the element numbervariable j is not equal to the last element number, the MO functiondetermination part 49 returns to step S107.

On the other hand, in step S109, when the element number variable j isequal to the last element number in the molecular orbital functionφ_(i), the MO function determination part 49 increments the numbervariable i of the molecular orbital function φ by 1 (step S110), anddetermines whether the number variable i reaches the total number N ofthe molecular orbital function φ by checking whether the number variablei is equal to the total number N (step S111). The MO functiondetermination part 49 may determine whether the number variable i isequal to the total number N. When the number variable i is not equal tothe total number N, the MO function determination part 49 goes back tostep S105 and repeats the above described process.

On the other hand, when the number variable i is equal to the totalnumber N, the MO drawing part 48 determines that all molecular orbitalfunctions φ_(i) are defined by the MO function determination part 49,and draws the molecular orbitals at the display device 15 by using thedefined molecular orbital functions φ_(i) (step S112). After themolecular orbitals are drawn, the MO drawing part 48 terminates themolecular orbital function determination process.

Next, a comparison result of data amounts will be described. The dataamount in a case of applying the data reduction according to theembodiment is compared with the data amount in a case in which theembodiment is not applied.

A first drawing example in a case of drawing the HOMO of an organicmolecule NKX-2677 will be described with FIG. 11 and FIG. 12. The firstdrawing example will be depicted in a case of using an Austin Model 1(AM1) method. FIG. 11 and FIG. 12 are diagrams for explaining acomparison of the data amounts in the first drawing example.

FIG. 11 illustrates a state in which a three-dimensional molecularstructure 7 b of NKX-2677 from molecular structure data of a HOMO 7 a ofNKX-2677. Then, the comparison of the data amounts in a case ofperforming a molecular orbital calculation by using the AM1 will beillustrated in FIG. 12.

In FIG. 12, a three-dimensional molecular structure 7 c is illustratedin which the molecular orbitals are drawn in a case in which the datareduction according to the embodiment is not applied. For thethree-dimensional molecular structure 7 c, original data, that is, thedata amount of “33856” bytes are used to calculate the molecularorbitals by the MO function expansion part 44. As illustrated in FIG. 9,in a case of performing the AM1 method, the data amount concerning theexpansion coefficients C of the molecular orbitals φ corresponds to thatof the expansion coefficient data 40 (FIG. 9). That is, the data amountis regarded as N² values of the expansion coefficients C.

On the other hand, when the data reduction according to the embodimentis conducted, the second MO data 136, which is reduced by the MO datareduction part 47, are used in a three-dimensional molecular structure 7d in which the molecular orbitals are drawn. In this case, the dataamount of “16337” bytes, which are reduced from the original data (forexample, the first MO data 134), are used. A ratio to the original dataamount (drawing calculation amount) indicates 48%. As illustrated inFIG. 9, the number m of the expansion coefficients C after the datareduction performed to the expansion coefficient data 6 b corresponds tothe reduced data amount.

As described above, by including a functional configuration according tothe embodiment as illustrated in FIG. 2 and the like, in the firstdrawing example, it is possible to reduce the data amount byapproximately one-half. Also, in the three-dimensional molecularstructure 7 d, the approximate molecular orbital functions are depictedwith the same quality as the three-dimensional molecular structure 7 c.As described above, it is possible to acquire a pertinent drawing resultof the molecular orbitals while reducing the calculation amount by thefunctional configuration according to the embodiment.

A second drawing example will be described with reference to FIG. 13 andFIG. 14. In the second drawing example, the HOMO of a protein molecular1BFP (C₁₁₅₆H₁₉₄₁N₃₁₀O₄₂₈S₇) is depicted. In the second drawing example,a case of using the AM1 method is illustrated. FIG. 13 and FIG. 14 arediagrams for explaining a comparison of the data amounts in the seconddrawing example.

In FIG. 13, a three-dimensional structure 8 b is created and depicted byrepresenting a ball and stick model based on molecular structure data ofa HOMO 8 a of the protein molecular 1BFP represented by a ribbon model,in a state in which hydrogen of the protein molecular 1BFP is added. Ina case of performing the molecular orbital calculation using the AM1, acomparison of data mounts is illustrated in FIG. 14.

In FIG. 14, the three-dimensional molecular structure 8 c is illustratedin a case in which the data reduction according to the embodiment is notapplied and the molecular orbitals are drawn. In this case, the originaldata, that is, the data amount of “91107025” bytes calculated by the MOfunction expansion part 44 are used. As illustrated in FIG. 9, the dataamount pertinent to the expansion coefficients C of the molecularorbitals φ, which are stored in the case of performing the AM1 method,correspond to that of the expansion coefficient data 40. The data amountis regarded as N² values of the expansion coefficients C.

In a three-dimensional molecular structure 8 d is illustrated in a casein which the data reduction according to the embodiment is applied andthe molecular orbitals are drawn. In this case, the second MO data 136reduced by the MO data reduction part 47 are used. That is, the dataamount of “3232281” bytes, which is reduced from the original data(which may be the first MO data 134), is used. A ratio to the originaldata amount (drawing calculation amount) indicates 3.5%. As illustratedin FIG. 9, the number m of the expansion coefficients C after the datareduction performed to the expansion coefficient data 6 b corresponds tothe reduced data amount.

As described above, by including the functional configuration accordingto the embodiment as illustrated in FIG. 2 and the like, it is alsopossible to significantly reduce the data amount in the second drawingexample. Also, in the three-dimensional molecular structure 8 d, theapproximate molecular orbital functions are depicted with the samequality as the three-dimensional molecular structure 8 c. As describedabove, it is possible to acquire a pertinent drawing result of themolecular orbitals while reducing the calculation amount by thefunctional configuration according to the embodiment.

Compared to the related art, even if lattice points are reduced, thedata amount of the expansion coefficients C acquired in the molecularorbital calculation is not reduced. Regarding the total number N ofindependent basis functions, the data amount of the expansioncoefficients of the molecular orbitals exponentially increases by Nsquared (N²). In a case of storing the expansion coefficients C, whichare related to multiple large scale molecules, to reuse the expansioncoefficients C, the storage part 130 of the molecular design apparatusmay be considerably consumed.

On the other hand, in the molecular design apparatus according to theembodiment, the molecular orbital functions φ are used in which themolecular orbital functions φ are reduced by using the coefficientthreshold C_(cutoff) of the expansion coefficients C based on thedrawing threshold φ_(cutoff) indicating a constant function value todraw the molecular orbital functions φ as the isosurface of the constantfunction value. The molecular orbital functions φ are represented by thebasis functions χ and the expansion coefficients C. Thus, it is possibleto conduct the drawing process of the molecular orbitals and to visuallydraw the molecular orbitals at higher speed so that the molecularorbitals are intuitively comprehensible.

Accordingly, it is possible to provide the molecular design apparatus inwhich the data amount is significantly reduced while retaining drawinginformation of the molecular orbitals, instead of losing the drawinginformation. It is possible to draw the molecular orbitals at higherspeed, and to considerably reduce a storage area for the data amount.

All examples and conditional language recited herein are intended forpedagogical purposes to aid the reader in understanding the inventionand the concepts contributed by the inventor to furthering the art, andare to be construed as being without limitation to such specificallyrecited examples and conditions, nor does the organization of suchexamples in the specification relate to a showing of the superiority andinferiority of the invention. Although the embodiments of the presentinvention have been described in detail, it should be understood thatthe various changes, substitutions, and alterations could be made heretowithout departing from the spirit and scope of the invention.

What is claimed is:
 1. A molecular design apparatus, comprising: astorage part configured to store molecular structure design data; amolecular orbital function expansion part configured to calculateexpansion coefficients applied to basis functions by expanding amolecular orbital function used to draw molecular orbitals based on themolecular structure design data, and stores to the storage part firstmolecular orbital data in which the expansion coefficients arecorresponded to the basis functions; and a molecular orbital datareduction part configured to determine a coefficient threshold for theexpansion coefficients of the basis functions acquired by the molecularorbital function expansion part by using a drawing threshold whichindicates a constant function value, to draw the molecular orbitalfunctions as an isosurface of the constant function value on a screen ofa display device, and to store to the storage part second molecularorbital data pertinent to the expansion coefficients based on thecoefficient threshold.
 2. The molecular design apparatus as claimed inclaim 1, wherein the molecular orbital data reduction part includes athreshold determination part configured to set a basis thresholdindicating function values in a range for ignoring overlaps of a basisfunction to other basis functions for each of the basis functions in themolecular orbital function, to calculate a coordinate thresholdindicating a coordinate value corresponding to the basis threshold, tocalculate a maximum value of a number of atoms included in a spherehaving a predetermined radius based on the coordinate threshold from acenter coordinate of each of the atoms forming a molecule, to calculatea value where a ratio of a total electron number of the molecule to atotal number of the basis functions is multiplied to a number of thebasis functions for each of the atoms or a basis ratio corresponding tothe value, and to determine the coefficient threshold based on thedrawing threshold, the basis threshold, the maximum value of the numberof the atoms, and the basis ratio.
 3. The molecular design apparatus asclaimed in claim 2, wherein the molecular orbital data reduction partincludes a data deletion storage part configured to store the secondmolecular orbital data including the expansion coefficients beinggreater than or equal to the coefficient threshold determined by thethreshold determination part by referring to the first molecular orbitaldata.
 4. The molecular design apparatus as claimed in claim 3, whereinthe second molecular orbital data includes a coefficient array whichstores the expansion coefficients being greater than or equal to thecoefficient threshold; a basis function indication array in which anelement number thereof is equal to the element number of the coefficientarray and stores pointers to the basis functions; and a molecularorbital indication array in which the element number thereof is equal toa total number of the basis functions or is one more than the elementnumber of the basis functions, and which stores a pointer to a firstexpansion coefficient for each of the molecular orbital functions in theexpansion coefficient data, and when the molecular orbital datareduction part stores the second molecular orbital data in the storagepart, a reduction flag in the storage part is set to indicate that theexpansion coefficients are reduced.
 5. The molecular design apparatus asclaimed in claim 4, further comprising a molecular orbital drawing partconfigured to draw the molecular orbitals on the screen of the displaydevice by using the first molecular orbital data or the second molecularorbital data stored in the storage part based on the reduction flag,wherein the molecular orbital drawing part includes a molecular orbitalfunction determination part configured to determine each of approximateorbital functions approximating the molecular orbital functions by usingthe coefficient array, the basis function indication array, and themolecular orbital indication array in the second molecular orbital data,when the reduction flag indicates that the expansion coefficients arereduced.
 6. The molecular design apparatus as claimed in claim 5,wherein the molecular orbital drawing part draws the molecular orbitalsby using the first molecular orbital data when the reduction flag doesnot indicate that the expansion coefficients are reduced.
 7. A moleculardesign method performed in a computer, the method comprising:calculating, by the computer, expansion coefficients pertinent to basisfunctions by expanding molecular orbital functions used to drawmolecular orbitals to the basis functions based on molecular structuredesign data stored in a storage part, and stores first molecular orbitaldata in which the expansion coefficients are corresponded to the basisfunctions, to the storage part; and determining, by the computer, acoefficient threshold with respect to the expansion coefficients of thebasis functions acquired in the calculating, by using a drawingthreshold which indicates a constant function value, to draw themolecular orbital functions as an isosurface of the constant functionvalue on a screen of a display device, and to store second molecularorbital data pertinent to the expansion coefficients based on thecoefficient threshold to the storage part.
 8. A non-transitorycomputer-readable recording medium having stored therein a program forcausing a computer to execute a molecular design process comprising:calculating expansion coefficients pertinent to basis functions byexpanding molecular orbital functions used to draw molecular orbitals tothe basis functions based on molecular structure design data stored in astorage part, and stores first molecular orbital data in which theexpansion coefficients are corresponded to the basis functions, to thestorage part; and determining a coefficient threshold with respect tothe expansion coefficients of the basis functions acquired in thecalculating, by using a drawing threshold which indicates a constantfunction value, to draw the molecular orbital functions as an isosurfaceof the constant function value on a screen of a display device, and tostore second molecular orbital data pertinent to the expansioncoefficients based on the coefficient threshold to the storage part.